package com.niiwoo.civet.trade.dto.response;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by zhangwanli on 2018/5/12.
 */
@Data
public class InvestOrderReceivePaymentDetailDTO implements Serializable{

    // 投资订单id 
    private Long investOrderId;

    // 第几期
    private Integer periodNum;

    // 预计回款日期 
    private Date expectReceiveDate;

    // 实际回款日期 
    private Date actualReceiveDate;

    // 预计回款金额 
    private BigDecimal totalAmount;

    // 待收明细
    private AmountDetail dueDetail;

    // 已收明细
    private AmountDetail receivedDetail;

    // 计息开始日期 
    private Date interestBeginDate;

    // 计息结束日期 
    private Date interestEndDate;

    // 罚息开始日期
    private Date penaltyFeeBeginDate;

    // 罚息结束日期
    private Date penaltyFeeEndDate;

    // 逾期天数
    private Integer overdueDays;

    // 垫付规则：1逾期中-担保公司垫付(2018年3月6日前24小时后垫付)，2逾期中-担保公司垫付(2018年3月6日后31天后垫付)
    // 3逾期回款-担保公司垫付(2018年3月6日前)，4逾期回款-担保公司垫付(2018年3月6日后)，5逾期回款-借款人还款(2018年3月6日后)
    private Byte advanceRule;

    // 垫付提示文案
    private String advanceHints;

    // 回款状态：1待回款，2按时回款，3逾期中，4逾期已收款，5提前回款，6已结清，7已提前结清，8逾期部分回款
    private Byte receivedStatus;

    // 转让期数
    private Integer numberOfTransfers;

    // 结清期数
    private Integer clearingPeriodNumber;

    @Data
    public static class AmountDetail implements Serializable {
        // 本金 
        private BigDecimal capital;

        // 利息 
        private BigDecimal interest;

        // 加息 
        private BigDecimal addInterest;

        // 罚息 
        private BigDecimal penaltyFee;
    }

}
